Міністерство освіти та науки України
НУ „Львівська політехніка”
Лекція №2
з курсу: «Застосування засобів об’єктно-орієнтованого програмування в лінгвістичних задачах»
Львів - 2010
1.6. Основні положення об’єктної моделі
Методи структурного проектування допомогає зпростити процес
розробки складних систем за рахунок використання алгоритмів як готових
будівельних блоків. Аналогічно, методи об’єктно-орієнтованого
проектування створенні, щоб допомогти розробникам застосовувати
потужні засоби об’єктного і об’єктно-орієнтованого програмування, що
використовує в якості блоків класи и об’єкти.
Але в об’єктній моделі відображається і множина іншіх факторів. Як
показано нижче, об’єктний підхід зарекомендували себе як уніфікуюча ідея
всієї компьютерної науки, що використовується не тільки в програмуванні,
але також в проектуванні інтерфейса користувача, баз даних і навіть
архітектури компьютерів. Причина такой широти в тому, що орієнтація на
объекти дозволяє нам справлятися з складністю систем самой разної
природи.
Об’єктно-орієнтований аналіз і проектування відображають
эволюційне, а не революційний развиток проектування; нова методологія
не пориває з попередніми методами, а будується з врахуванням
попереднього досвіду.
2. Етапи розробки ПЗ
2.1. Об’єктно-орієнтоване програмування.
Що таке об’єктне-орієнтоване програмування (object-oriented
programming, OOP)? Ми визначаємо його наступним чином:
Об’єктно-орієтоване програмування - це методологія
програмування, яка базується на представленні програми у вигляді
сукупності об’єктів, кожен з яких є екземпляром визначеного класу, а
класи утворюють ієрархію спадкування.
В даному визначенні можна виділити три частини:
1) OOП використовує в якості базових елементів об’єкти, а не
алгоритми;
2) кожен об’єкт є екземпляром деякого визначеного класу;
3) класи організовані ієрархічно.
Програма буде об’єктно-орієнтованою тільки при дотриманні всіх трьох
вказаних вимог. Програмування, яке не базується на ієрархічних
відносинах, не відноситься до OOП, а називаеться програмуванням на
основі абстрактних типів даних.
У відповідності з цим визначенням не всі мови програмування є
об’єктно-орієнтованими. Теоретично можлива можлива імітація об’єктно-
орієнтованого програмування на звичайних мовах, таких, як Pascal і навіть
COBOL або асемблер, але досить важко. Можна сказати що: "мова
програмування є об’єктно-орієнтованою тільки тоді, коли виконуються
наступні умови:
• Підтримуються об’єкти, абстракції даних, що мають інтерфейс у
вигляді операцій з іменами і власні дані, з обмеженням доступу до
них.
• Об’єкти відносяться до відповідних типів (класам).
• Типи (класи) можут спадковувати атрибути супертипів (суперкласів)".
2.2. Об’єктно-орієнтоване проектування.
Програмування насамперед розуміється як правильне і ефективне
використання механізмів конкретних мов програмування. Проектування,
навпаки, основна увага приділяється правильному і эфективному
структуруванню складних систем. Ми визначаемо об’єктно-орієнтоване
проектування наступним чином:
Об’єктно-орієнтоване проектування - це методологія проектування,
яка об’єднує в собі процес об’єктної декомпозиції і прийоми представлення
логічної і фізичної, а також статичної і динамічної моделей системи що
проектується.
В даному визначені є дві важливі частини: об’єктно-орієнтоване
проектування 1) базується на об’єктно-орієнтваній декомпозиції; 2)
використовується різноманіття прийомів представленя моделей, які
відображають логічну (класи і об’єкти) і физичну (модулі и процеси)
структуру системи, а також її статичні і динамічні аспекти.
Саме об’єктно-орієнтована декомпозиція відрізняє об’єктно-орієнтоване
проектування від структурного; в першому випадку логічна структура
системи відображається абстракціями у вигляді класів і об’єктів, в другому
- алгоритмами. Для ОО проектування використовується абревіатура OOD
(object-oriented design), для позначення метода об’єктно-о...